package com.zr.vo.car;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zr.vo.BaseVo;
import com.zr.vo.base.BaseDriver;

import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 车辆信息实体类
 *
 * @author 王鑫
 * @date 2022/10/30
 */
public class CarInfo extends BaseVo implements Serializable {

    private Double minLoad;

    private Double maxLoad;
    private Integer id;
    @NotBlank(message = "车牌号不能为空")
    private String number;
    @NotBlank(message = "车辆类型不能为空")
    private String type;
    @NotNull(message = "车辆长度不能为空")

    private Double length;
    @NotNull(message = "车辆宽度不能为空")

    private Double width;
    @NotNull(message = "车辆高度不能为空")

    private Double height;
    @NotNull(message = "车辆容积不能为空")

    private Double volume;
    @NotNull(message = "车辆载重不能为空")
    
    private Double carLoad;

    private String driverId;

    private String mark;

    private String carPhoto;

    private String drivePermit;

    private String carStatus;

    private String location;

    private String dispatchId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyTime;

    private String anotherOne;

    private String anotherTwo;
    private BaseDriver baseDriver;

    public BaseDriver getBaseDriver() {
        return baseDriver;
    }

    public void setBaseDriver(BaseDriver baseDriver) {
        this.baseDriver = baseDriver;
    }

    public Double getMinLoad() {
        return minLoad;
    }

    public void setMinLoad(Double minLoad) {
        this.minLoad = minLoad;
    }

    public Double getMaxLoad() {
        return maxLoad;
    }

    public void setMaxLoad(Double maxLoad) {
        this.maxLoad = maxLoad;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number == null ? null : number.trim();
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    public Double getLength() {
        return length;
    }

    public void setLength(Double length) {
        this.length = length;
    }

    public Double getWidth() {
        return width;
    }

    public void setWidth(Double width) {
        this.width = width;
    }

    public Double getHeight() {
        return height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }

    public Double getVolume() {
        return volume;
    }

    public void setVolume(Double volume) {
        this.volume = volume;
    }

    public Double getCarLoad() {
        return carLoad;
    }

    public void setCarLoad(Double carLoad) {
        this.carLoad = carLoad;
    }

    public String getDriverId() {
        return driverId;
    }

    public void setDriverId(String driverId) {
        this.driverId = driverId == null ? null : driverId.trim();
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark == null ? null : mark.trim();
    }

    public String getCarPhoto() {
        return carPhoto;
    }

    public void setCarPhoto(String carPhoto) {
        this.carPhoto = carPhoto == null ? null : carPhoto.trim();
    }

    public String getDrivePermit() {
        return drivePermit;
    }

    public void setDrivePermit(String drivePermit) {
        this.drivePermit = drivePermit == null ? null : drivePermit.trim();
    }

    public String getCarStatus() {
        return carStatus;
    }

    public void setCarStatus(String carStatus) {
        this.carStatus = carStatus == null ? null : carStatus.trim();
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location == null ? null : location.trim();
    }

    public String getDispatchId() {
        return dispatchId;
    }

    public void setDispatchId(String dispatchId) {
        this.dispatchId = dispatchId == null ? null : dispatchId.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getAnotherOne() {
        return anotherOne;
    }

    public void setAnotherOne(String anotherOne) {
        this.anotherOne = anotherOne == null ? null : anotherOne.trim();
    }

    public String getAnotherTwo() {
        return anotherTwo;
    }

    public void setAnotherTwo(String anotherTwo) {
        this.anotherTwo = anotherTwo == null ? null : anotherTwo.trim();
    }

    @Override
    public String toString() {
        return "CarInfo{" +
                "minLoad=" + minLoad +
                ", maxLoad=" + maxLoad +
                ", id=" + id +
                ", number='" + number + '\'' +
                ", type='" + type + '\'' +
                ", length=" + length +
                ", width=" + width +
                ", height=" + height +
                ", volume=" + volume +
                ", carLoad=" + carLoad +
                ", driverId='" + driverId + '\'' +
                ", mark='" + mark + '\'' +
                ", carPhoto='" + carPhoto + '\'' +
                ", drivePermit='" + drivePermit + '\'' +
                ", carStatus='" + carStatus + '\'' +
                ", location='" + location + '\'' +
                ", dispatchId='" + dispatchId + '\'' +
                ", createTime=" + createTime +
                ", modifyTime=" + modifyTime +
                ", anotherOne='" + anotherOne + '\'' +
                ", anotherTwo='" + anotherTwo + '\'' +
                ", baseDriver=" + baseDriver +
                '}';
    }
}